package cn.azr.domain.strategy.repository;



import cn.azr.domain.strategy.model.entity.StrategyAwardEntity;
import cn.azr.domain.strategy.model.entity.StrategyEntity;
import cn.azr.domain.strategy.model.entity.StrategyRuleEntity;
import cn.azr.domain.strategy.model.vo.StrategyAwardRuleModelVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * ClassName:IStrategyRepository
 * Description:策略仓储接口
 *
 * @version 1.0
 * @Author azr
 * @Create 2024/9/28 10:25
 */
public interface IStrategyRepository {
    List<StrategyAwardEntity> queryStrategyIdList(Long strategyId);

    void store(String key ,BigDecimal awardRateRange, Map<Integer, Integer> shufflestrategyAwardRateTables);

    int getRateRange(String key);
    int getRangeRate(Long strategyId);


    int getStrategyAwardAssemble(String key, int i);

    StrategyEntity queryEntityByStrategyId(Long strategyId);

    StrategyRuleEntity queryStrategyRule(Long strategyId, String ruleModel);

    String queryStrategyRuleValue(Long strategyId, Integer awardId, String ruleModel);

    String queryStrategyRuleValue(Long strategyId, String ruleModel);


    StrategyAwardRuleModelVO queryStrategyAwardRuleModelVO(Long strategyId, Integer awardId);
}
